using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace RDD
{
    class Usuario
    {
        private string _UsuarioID;
        private string _Nombre;
        private char _Perfil;   //A=Admin, C=Consulta, I=Importacion, E=Exportacion
        private char _Estado;   //A=Activo, I=Inactivo

        #region Propiedades
        public string UsuarioID
        {
            get
            {
                return _UsuarioID;
            }
            set
            {
                _UsuarioID = value;
            }
        }
        public string Nombre
        {
            get
            {
                return _Nombre;
            }
            set
            {
                _Nombre = value;
            }
        }
        public char Perfil
        {
            get
            {
                return _Perfil;
            }
            set
            {
                _Perfil = value;
            }
        }
        public char Estado
        {
            get
            {
                return _Estado;
            }
            set
            {
                _Estado = value;
            }
        }
        #endregion Propiedades

        #region Constructores
        public Usuario(DataSet dsDatos)
        {
            string tSql = "SELECT UsuarioID,Nombre,Perfil, Estado " +
                          "FROM " + Constantes.LIB400 + ".Usuario ORDER BY UsuarioID";
            accesoDatos400 p = new accesoDatos400();
            DataTable dt = new DataTable();
            dt = p.leerDatosSQL(tSql);
            dt.TableName = "Usuario";
            dsDatos.Tables.Add(dt);
        }
        public Usuario(string pUsuarioID)
        {
            UsuarioID = pUsuarioID;
            Nombre = "";
            string tSql = "SELECT Nombre,Perfil, Estado " +
                          "FROM " + Constantes.LIB400 + ".Usuario " +
                          "WHERE UsuarioID = '" + UsuarioID.ToUpper() + "'";
            accesoDatos400 p = new accesoDatos400();
            DataTable dt = new DataTable();
            dt = p.leerDatosSQL(tSql);
            if (dt.Rows.Count > 0)
            {
                //Asignar valores a las propiedades
                Nombre = dt.Rows[0]["Nombre"].ToString();
                Perfil = Convert.ToChar(dt.Rows[0]["Perfil"]);
                Estado = Convert.ToChar(dt.Rows[0]["Estado"]);
            }
        }
        public Usuario()
        {
        }
        #endregion Constructores

        #region Metodos Publicos
        public void insertarRegistro()
        {
            string tSql = "INSERT INTO " + Constantes.LIB400 + ".Usuario (UsuarioID, Nombre,Perfil,Estado) " + 
                          "VALUES ('" + UsuarioID + "'" +
                          ",'" + Nombre + "'" +
                          ",'" + Perfil + "'" +
                          ",'" + Estado + "')";
            accesoDatos400 p = new accesoDatos400();
            int nRegs = p.ejecutarSQL(tSql);
        }
        public void actualizarRegistro()
        {
            string tSql = "UPDATE " + Constantes.LIB400 + ".Usuario SET " +
                          "Nombre = '" + Nombre + "', " +
                          "Estado = '" + Estado + "', " +
                          "Perfil = '" + Perfil + "' " +
                          "WHERE UsuarioID = '" + UsuarioID + "'"; 
            accesoDatos400 p = new accesoDatos400();
            int nRegs = p.ejecutarSQL(tSql);
        }
        public void borrarRegistro()
        {
            string tSql = "DELETE FROM " + Constantes.LIB400 + ".Usuario " +
                          "WHERE UsuarioID = '" + UsuarioID + "'";
            accesoDatos400 p = new accesoDatos400();
            int nRegs = p.ejecutarSQL(tSql);
        }
        #endregion Metodos Publicos
    }
}
